Keyboard-video-mouse system and method of providing and using the same

ABSTRACT

Some embodiments include keyboard-video-mouse systems. Other embodiments of related systems and methods are also disclosed.

FIELD OF THE INVENTION

This invention relates generally to keyboard-video-mouse systems, and relates more particularly to such systems for conditionally switching peripheral devices of the keyboard-video-mouse systems and methods of providing and using the same.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Patent Application No. PCT/US2012/036656, filed May 4, 2012, and International Patent Application No. PCT/US2012/036663, filed May 4, 2012. International Patent Application No. PCT/US2012/036656 claims the benefit of U.S. Provisional Patent Application No. 61/482,850, filed May 5, 2011, and International Patent Application No. PCT/US2012/036663 claims the benefit of U.S. Provisional Patent Application No. 61/483,628, filed May 6, 2011. International Patent Application No. PCT/US2012/036656, International Patent Application No. PCT/US2012/036663, U.S. Provisional Patent Application No. 61/482,850, and U.S. Provisional Patent Application No. 61/483,628 are incorporated herein by reference in their entirety.

DESCRIPTION OF THE BACKGROUND

Keyboard-video-mouse systems (i.e., systems employing a keyboard-video-mouse (KVM) switching device) represent a class of switching systems administrating selected communication between one or more peripheral devices and one or more host devices. The peripheral device(s) may be and are frequently located remotely from the host device(s). Through the KVM switching device, the user(s) can select and switch between the host device(s) to operate the host device(s) with the peripheral device(s). For example, the KVM switching devices can route audio-visual data and/or command data between the peripheral device(s) and host device(s). From the host devices' perspective, it appears as if the peripheral device(s) are directly coupled to the host device(s). When the user(s) switch between the host device(s), communication between the previously selected host computer and any switched peripheral device(s) is disconnected.

Accordingly, a need or potential for benefit exists for an apparatus or system that permits one or more peripheral devices to conditionally switch independently of one or more other peripheral devices of the peripheral devices.

BRIEF DESCRIPTION OF THE DRAWINGS

To facilitate further description of the embodiments, the following drawings are provided in which:

FIG. 1 illustrates a system, according to one embodiment;

FIG. 2 illustrates a computer that is suitable for implementing an embodiment of a host device and/or a switching device computer system of the system of FIG. 1;

FIG. 3 illustrates a representative block diagram of an example of elements included in circuit boards inside a chassis of the host device of FIG. 2;

FIG. 4 illustrates a flow chart for an embodiment of a method of providing a system;

FIG. 5 illustrates a flow chart for an embodiment of a method of using a keyboard-video-mouse switching device configured to be coupled with two or more system peripheral devices and two or more host devices and to permit a user of the keyboard-video-mouse switching device to designate a selected host device of the two or more host devices;

FIG. 6 illustrates a procedure of designating the selected host device of the host devices, according to the embodiment of the method of FIG. 5;

FIG. 7 illustrates an exemplary user interface for a keyboard-video-mouse switching device, according to the embodiment of the system of FIG. 1; and

FIG. 8 illustrates an exemplary process of determining whether to switch category-two peripheral device(s) to a selected host device, according to the embodiment of the method of FIG. 5;

FIG. 9 illustrates an exemplary activity of manufacturing a keyboard-video-mouse (KVM) switching device, according to the embodiment of FIG. 4;

FIG. 10 illustrates an exemplary method of operating a keyboard-video-mouse (KVM) switching device; and

FIG. 11 illustrates an exemplary activity of conditionally establishing communication between one or more category-two peripheral devices of two or more system peripheral devices and a selected host device based on one or more specified conditions.

For simplicity and clarity of illustration, the drawing figures illustrate the general manner of construction, and descriptions and details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the invention. Additionally, elements in the drawing figures are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve understanding of embodiments of the present invention. The same reference numerals in different figures denote the same elements.

The terms “first,” “second,” “third,” “fourth,” and the like in the description and in the claims, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms “include,” and “have,” and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, device, or apparatus that comprises a list of elements is not necessarily limited to those elements, but may include other elements not expressly listed or inherent to such process, method, system, article, device, or apparatus.

The terms “left,” “right,” “front,” “back,” “top,” “bottom,” “over,” “under,” and the like in the description and in the claims, if any, are used for descriptive purposes and not necessarily for describing permanent relative positions. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the invention described herein are, for example, capable of operation in other orientations than those illustrated or otherwise described herein.

The terms “couple,” “coupled,” “couples,” “coupling,” and the like should be broadly understood and refer to connecting two or more elements or signals, electrically, mechanically and/or otherwise. Two or more electrical elements may be electrically coupled together, but not be mechanically or otherwise coupled together; two or more mechanical elements may be mechanically coupled together, but not be electrically or otherwise coupled together; two or more electrical elements may be mechanically coupled together, but not be electrically or otherwise coupled together. Coupling may be for any length of time, e.g., permanent or semi-permanent or only for an instant.

“Electrical coupling” and the like should be broadly understood and include coupling involving any electrical signal, whether a power signal, a data signal, and/or other types or combinations of electrical signals. “Mechanical coupling” and the like should be broadly understood and include mechanical coupling of all types.

The absence of the word “removably,” “removable,” and the like near the word “coupled,” and the like does not mean that the coupling, etc. in question is or is not removable.

DETAILED DESCRIPTION OF EXAMPLES OF EMBODIMENTS

Some embodiments include a system. The system comprises a keyboard-video-mouse switching device configured to be coupled with two or more system peripheral devices and two or more host devices and to permit a user of the keyboard-video-mouse switching device to designate a selected host device of the two or more host devices. The two or more system peripheral devices can comprise one or more category-one peripheral devices and one or more category-two peripheral devices. The keyboard-video-mouse switching device can be configured such that when the user designates the selected host device of the two or more host devices, the one or more category-one peripheral devices switch to the selected host device and the one or more category-two peripheral devices conditionally switch to the selected host device.

Various embodiments can include a method of providing a system. The method can comprise providing a keyboard-video-mouse switching device configured to be coupled with two or more system peripheral devices and two or more host devices and to permit a user of the keyboard-video-mouse switching device to designate a selected host device of the two or more host devices. The two or more system peripheral devices can comprise one or more category-one peripheral devices and one or more category-two peripheral devices. The keyboard-video-mouse switching device can be configured such that when the user designates the selected host device of the two or more host devices, the one or more category-one peripheral devices switch to the selected host device and the one or more category-two peripheral devices conditionally switch to the selected host device.

Further embodiments include a method of using a keyboard-video-mouse switching device configured to be coupled with two or more system peripheral devices and two or more host devices and to permit a user of the keyboard-video-mouse switching device to designate a selected host device of the two or more host devices, where the two or more system peripheral devices comprise one or more category-one peripheral devices and one or more category-two peripheral devices. The method can comprise designating a selected host device of the two or more host devices, where designating the selected host device comprises: (a) switching the one or more category-one peripheral devices to the selected host device and (b) determining whether to switch the one or more category-two peripheral devices to the selected host device.

Other embodiments include a system. The system comprises a keyboard-video-mouse switching device configured to communicate with two or more system peripheral devices and two or more host devices. Further, the keyboard-video-mouse switching device permits a user of the system to select a selected host device of the two or more host devices. The two or more system peripheral devices comprise one or more category-one peripheral devices and one or more category-two peripheral devices. Meanwhile, the keyboard-video-mouse switching device is configured such that when the user selects the selected host device of the two or more host devices: (a) the one or more category-one peripheral devices communicate with the selected host device; and (b) the one or more category-two peripheral devices conditionally communicate with the selected host device if one or more specified conditions are fulfilled.

Additional embodiments include a method of providing a system. The method comprises: manufacturing a keyboard-video-mouse switching device, the keyboard-video-mouse switching device (i) being configured to communicate with (a) two or more system peripheral devices comprising one or more category-one peripheral devices and one or more category-two peripheral devices and (b) two or more host devices and (ii) permitting a user of the system to select a selected host device of the two or more host devices; configuring the keyboard-video-mouse switching device such that when the user selects the selected host device of the two or more host devices, the one or more category-one peripheral devices communicate with the selected host device; and configuring the keyboard-video-mouse switching device such that when the user selects the selected host device of the two or more host devices, the one or more category-two peripheral devices conditionally communicate with the selected host device if one or more specified conditions are fulfilled.

Further embodiments include a method of operating a keyboard-video-mouse switching device. The method comprises: receiving a new selection of a selected host device of two or more host devices; after receiving the first selection of the selected host device, establishing communication between one or more category-one peripheral devices of two or more system peripheral devices and the selected host device; and after receiving the first selection of the selected host device, conditionally establishing communication between one or more category-two peripheral devices of the two or more system peripheral devices and the selected host device based on one or more specified conditions.

Turning to the drawings, FIG. 1 is a block diagram illustrating system 100, according to one embodiment. System 100 is merely exemplary and is not limited to the embodiments presented herein. System 100 can be employed in many different embodiments or examples not specifically depicted or described herein.

System 100 comprises keyboard-video-mouse (KVM) switching device 101. System 100 can also comprise (a) one or more system peripheral devices of two or more system peripheral devices 102 and/or (b) one or more host devices of two or more host devices 103. Further, system 100 can comprise user interface 140. In some embodiments, KVM switching device 101 can comprise user interface 140.

KVM switching device 101 is configured to communicate with system peripheral devices 102 and host devices 103. Accordingly, KVM switching device 101 can be coupled with one or more system peripheral devices of system peripheral devices 102 and/or one or more host devices of host devices 103. Further, KVM switching device 101 can permit one or more users of KVM switching device 101 to select a selected host device of host devices 103. Meanwhile, KVM switching device 101 can be configured such that when the user(s) select the selected host device of host devices 103, category-one peripheral device(s) 104 communicate with the selected host device and category-two peripheral device(s) 105 conditionally communicate with the selected host device. Both the manner of selecting the selected host device of host devices 103 and the manner of switching communication of system peripheral devices 102 when selecting the selected host device of host devices 103 are explained in further detail below with respect to KVM circuitry 122 (and the switching device computer system, if applicable) and/or user interface 140 (FIG. 1).

System peripheral devices 102 can comprise (a) one or more category-one peripheral devices 104 and (b) one or more category-two peripheral devices 105. Category-one peripheral device(s) 104 can comprise one or more peripheral electronic devices (e.g., an audio-visual display device, one or more speaker(s), a computer keyboard, a computer mouse, a common access card (CAC) reader, a printer, an external storage module such as an external hard drive, a modem, a router, a biometric reader, etc.) configured to receive and/or send data to at least one host electronic device (e.g., a computer system, a home theater system, etc.). Further, category-two peripheral device(s) 105 can comprise one or more peripheral electronic device(s) configured to operate as a slave electronic device (e.g., the CAC reader, the printer, the external storage module, the modem, the biometric reader, etc.) to at least one host electronic device configured to operate as a master electronic device. Stated differently, category-two peripheral device(s) 105 can comprise the same type of peripheral electronic device as any of category-one peripheral device(s) 104, but category-one peripheral device(s) 104 cannot necessarily comprise the same type of peripheral electronic device as category-two peripheral device(s) 105. In many examples, category-two peripheral devices 105 can be devoid of speaker(s). In further examples, category-two peripheral device(s) 105 can consist of one CAC reader (e.g., CAC reader 113). Likewise, one or more category-one peripheral devices of category-one peripheral device(s) 104 can be a same type or a different type of peripheral electronic device as one or more other category-one peripheral devices of category-one peripheral device(s) 104. An equivalent relationship can also apply between the category-two peripheral device(s) 105.

Further, category-one peripheral device(s) 104 can refer to the system peripheral device(s) of system peripheral devices 102 that the user(s) desire to always shift to a host device of host devices 103 when selected for use by the user(s). Meanwhile, category-two peripheral device(s) 105 can refer to the system peripheral device(s) of system peripheral devices 102 that the user(s) may desire to shift (e.g., conditionally) to the selected host device of host devices 103 when selected for use by the user(s), that is to say, the system peripheral devices of system peripheral devices 102 that shift to the selected host device of host devices 103 only upon satisfaction of one or more specified conditions. For example, the specified condition(s) could comprise a condition where the system peripheral device(s) of system peripheral devices 102 are necessary to operate the selected host device of host devices 103 (e.g., where category-two peripheral device(s) 105 comprise a CAC reader and the selected host system is protected with CAC security). In many embodiments, the specified condition(s) can be established by the manufacturer of KVM switching device 101 while in other embodiments, KVM switching device 101 can be configured such that the user(s) can create and/or select (e.g., by choosing one or more predetermined specified conditions provided by the manufacturer) the specified condition(s). Further, the user(s) could, in various examples, specify that category-two peripheral device(s) 105 will not shift to a newly designated selected host device of host devices 103 in the event that the category-two peripheral device(s) 105 are presently operating at a host device of host devices 103 configured to need that category-two host device (e.g., where the category-two peripheral device(s) 105 comprise a printer and the printer is presently printing a document, etc.) unless the newly designated selected host device of host devices 103 is also configured as a host device of host devices 103 needing that category-two peripheral device. In some embodiments, the user(s) can provide the specified condition(s) by (a) using computer software, (b) mechanical selection, such as by activating any of various mechanical inputs (e.g., toggle inputs 708 (FIG. 7), etc.) of user interface 140, as is described in further detail below, and/or (c) configuring KVM switching device 101 to simply detect when a data cable and/or bus is coupling a host device (of host devices 103) to a category-two port connector (of category-two port connector(s) 128) of that respective host port (of host ports 119) associated with that host device of host devices 103, as described below (i.e., where the specified condition(s) for switching category-two peripheral device(s) 105 comprise whether the coupling exists).

Category-one peripheral device(s) 104 can comprise one or more peripheral output devices 106 and/or one or more peripheral input devices 107. Peripheral output device(s) 106 can comprise audio-visual display device 108, one or more speakers 109, and/or any other suitable peripheral device configured to communicate with host devices 103 and to receive data (e.g., audio-visual data) from host devices 103. Audio-visual display device 108 can be similar or identical to refreshing monitor 206 (FIG. 2). Meanwhile, peripheral input device(s) 107 can comprise computer keyboard 110, computer mouse 111, and/or any other suitable peripheral device configured to communicate with host devices 103 and to provide data (e.g., command data, audio-visual data, etc.) to host devices 103. Computer keyboard 110 can be similar or identical keyboard 204 (FIG. 2), and/or computer mouse 111 can be similar or identical to mouse 210 (FIG. 2).

Still referring to FIG. 1, host devices 103 can comprise any suitable host electronic device (e.g., a computer system, a home theater system, etc.). In some embodiments, host devices 103 can comprise four host devices (e.g., first host device 115, second host device 116, third host device 117, and/or fourth host device 118). In other embodiments, host devices 103 can comprise more or fewer host devices, as appropriate. In many embodiments, each of host devices 103 (e.g., first host device 115, second host device 116, third host device 117, and/or fourth host device 118) can comprise a computer system. The computer system can be similar or identical to computer system 200 (FIG. 2), as described below. In another embodiment, the computer system can be similar or identical to chassis 202 (FIG. 2) of computer system 200 (FIG. 2) and any of the circuit boards and/or component(s) contained in chassis 202 (FIG. 2), as described below.

KVM switching device 101 can comprise two or more host ports 119, one or more category-one peripheral ports 120, one or more category-two peripheral ports 121, and/or KVM circuitry 122. KVM circuitry 122 can be configured to administrate communication between (e.g., by selectively and/or conditionally coupling) (a) category-one peripheral device port(s) 120 and/or category-two peripheral device port(s) 121 and (b) host ports 119, thereby administrating communication (e.g., selective communication and/or conditional communication) between system peripheral devices 102 and host devices 103 when system peripheral devices 102 are coupled to host ports 119, category-one peripheral devices 104 are coupled to category-one peripheral port(s) 120, and/or category-two peripheral devices 105 are coupled to category-two peripheral port(s) 121, as described in further detail below.

In some embodiments, host ports 119 comprise four host ports (e.g., first host port 123, second host port 124, third host port 125, and/or fourth host port 126, etc.). In other embodiments host ports 119 can comprise more or fewer host ports, as appropriate. In various embodiments, the number of host ports of host ports 119 may be complimentary to the number of host devices of host devices 103. However, in other embodiments, there can be fewer host devices of host devices 103 than host ports of host ports 119 (i.e., KVM switching device 101 can be operated with less than all of host ports 119 being coupled to host devices 103). Accordingly, each host device of host devices 103 can be configured to be coupled to a different host port of host ports 119 (e.g., via category-one port connector(s) 127 and/or category-two port connector(s) 128 at that one host port of host ports 119), and/or vice versa, by at least one data and/or bus cable. The data and/or bus cable(s) can comprise one or more of and/or any combination of any suitable data and/or bus cable(s) (e.g., a universal serial bus (USB) connector, a high-definition multimedia interface (HDMI) connector, a digital visual interface (DVI) connector, a display port (DP) connector, a video graphics array (VGA) connector, composite cable connectors, an S-Video connector, an optical audio connector, Radio Corporation of America (RCA) connectors, a tip-ring-sleeve (TRS) connector such as a 3.5 millimeter TRS connector, etc.).

Further, each host port of host ports 119 (e.g., first host port 123, second host port 124, third host port 125, and/or fourth host port 126, etc.) can comprise one or more category-one port connectors 127 (e.g., first category-one port connector 129, second category-one port connector 131, third category-one port connector 133, and/or fourth category-one port connector 135, etc.) and/or one or more category-two port connectors 128 (e.g., first category-two port connector 130, second category-two port connector 132, third category-two port connector 134, and/or fourth category-two port connector 136, etc.). As described briefly above, each category-one port connector (of category-one port connector(s) 127) of each host port (of host ports 119) can be configured to be coupled to a complimentary connector (not shown) at the respective host computer coupled to that host port comprising that category-one port connector. Meanwhile, each category-two port connector (of category-two port connector(s) 128) of each host port (of host ports 119) can be configured to be coupled to a complimentary connector (not shown) at the respective host computer coupled to that host port comprising that category-two port connector.

For example, category-one port connectors 127 of host ports 119 and/or first category-one port connector 129 of first host port 123 of host ports 119 can comprise (a) a DVI connector to permit communication between a respective host device (e.g., first host device 115) of host devices 103 and audio-visual display device 108, (b) a USB-B connector to permit communication between the respective host device and computer keyboard 110 and/or computer mouse 111, and (c) a 3.5 millimeter TRS connector to permit communication between the respective host device and speaker(s) 109. Meanwhile, category-two port connectors 128 of host ports 119 and/or first category-two port connector 130 of host port 123 of host ports 119 can comprise another USB-B connector to permit communication between category-two peripheral device(s) 105 (e.g., CAC reader 113) and the respective host device (e.g., first host device 115) of host devices 103.

Further, each corresponding category-one port connector of category-one port connector(s) 127 (e.g., first category-one port connector 129, second category-one port connector 131, third category-one port connector 133, and/or fourth category-one port connector 135, etc.) can be configured to be coupled to one same and corresponding category-one peripheral port of category-one peripheral port(s) 120. Also, each corresponding category-two port connector of category-two port connector(s) 128 (e.g., first category-two port connector 130, second category-two port connector 132, third category-two port connector 134, and/or fourth category-two port connector 136, etc.) can be configured to be coupled to one same and corresponding category-two peripheral port of category-two peripheral port(s) 121. Meanwhile, each category-one peripheral device of category-one peripheral device(s) 104 (e.g., audio-visual display device 108, speaker(s) 109, computer keyboard 110, and/or computer mouse 111, etc.) can be configured to be coupled to at least one of the one same and corresponding category-one peripheral port(s) of category-one peripheral port(s) 120, and each category-two peripheral device of category-two peripheral device(s) 105 (e.g., CAC reader 113, other slave device 114, etc.) can be configured to be coupled to at least one of the one same and corresponding category-two peripheral port(s) of category-two peripheral port(s) 121.

For example, category-one peripheral port(s) 120 can comprise (a) a DVI connector configured to permit communication between audio-visual display device 114 and host devices 103, (b) two USB-A connectors and/or two keyboard/mouse connectors configured to permit communication between computer keyboard 110 and/or computer mouse 111 and host devices 103, and (c) a 3.5 millimeter TRS connector configured to permit communication between speaker(s) 109 and host devices 103. Category-two peripheral port(s) 121 can comprise another USB-A connector configured to permit communication between category-two peripheral device(s) 105 (e.g., CAC reader 113) and host devices 103.

Further still, although communication between KVM switching device 101, host ports 119, category-one peripheral ports 120, and/or category-two peripheral ports 121 is described with respect to wired communication, in some embodiments, some or all of the communication could be implemented via wireless communication instead. Still, implementing wired communication (as opposed to wireless communication) can provide for increased security where security is an issue. Meanwhile, regardless of whether the communication is wired or wireless, the wired and/or wireless communication can be implemented using any one or any combination of wired and/or wireless communication network topologies (e.g., ring, line, tree, bus, mesh, star, daisy chain, hybrid, etc.) and/or protocols (e.g., personal area network (PAN) protocol(s), local area network (LAN) protocol(s), wide area network (WAN) protocol(s), cellular network protocol(s), Powerline network protocol(s), etc.), as desirable. Exemplary PAN protocol(s) can comprise Bluetooth, Zigbee, Wireless Universal Serial Bus (USB), Z-Wave, etc.; exemplary LAN and/or WAN protocol(s) can comprise Institute of Electrical and Electronic Engineers (IEEE) 802.3, IEEE 802.11, etc.; and exemplary wireless cellular network protocol(s) can comprise Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Evolution-Data Optimized (EV-DO), Enhanced Data Rates for GSM Evolution (EDGE), 3GSM, Digital Enhanced Cordless Telecommunications (DECT), Digital AMPS (IS-136/Time Division Multiple Access (TDMA)), Integrated Digital Enhanced Network (iDEN), etc. The components implementing the wired and/or wireless communication can be dependent on the network topologies and/or protocols in use, and vice versa.

KVM circuitry 122 can comprise any of various electrical networks comprising hardware and/or software suitable for selectively coupling host ports 119 to KVM circuitry 122. Specifically, the various electrical networks of KVM circuitry 122 can be configured such that the user(s) can switch (e.g. toggle) between which host port of host ports 119 is presently communicating with KVM circuitry 122. Meanwhile, KVM circuitry 122 can also comprise any of various electrical networks and/or a switching device computer system suitable for (a) selectively coupling category-one port(s) 120 to KVM circuitry 122 and/or (b) selectively and/or conditionally coupling category-two peripheral port(s) 121 to KVM circuitry 122. Accordingly, KVM circuitry 122 can be configured such that when host devices 103 are coupled to KVM switching device 101 via host ports 119, category-one peripheral device(s) 104 are coupled to KVM switching device 101 via category-one peripheral port(s) 120, category-two peripheral device(s) 105 are coupled to category-two peripheral port(s) 121, and the user(s) use KVM switching device 101 to switch between host devices (e.g., to designate the selected host) of host devices 103 (i.e., host ports of host ports 119), then category-one peripheral devices 104 (e.g., category-one peripheral port(s) 120) automatically switch from communicating with a previously designated host device to a presently designated host device (e.g., via KVM circuitry 122), but category-two peripheral device(s) 105 (e.g., category-two peripheral port(s) 121) conditionally switch from communicating with the previously designated host device to the presently designated host device based on the specified condition(s), as described above with respect to category-one peripheral device(s) 104 and category-two peripheral device(s) 105. The result is that category-two peripheral device(s) 105, which switch only when the specified condition(s) exist, can switch independently of category-one peripheral device(s) 104, which (in many embodiments) always switch when the user(s) switch between host devices of host devices 103.

The conditional (e.g., independent) switching of category-two peripheral device(s) 105 can be advantageous where the user(s) of KVM switching device 101 do not want the category-two device peripherals to switch when the user(s) switch between host devices of host devices 103. For example, in one scenario, category-two peripheral device(s) 105 can comprise CAC reader 113, first host device 115 can comprise a first computer system, second host device 116 can comprise a second computer system, and category-one peripheral device(s) 104 can comprise audio-visual display device 108, computer keyboard 110, and computer mouse 111. In this scenario, the user(s) could presently be operating first host device 115 at a control terminal comprising system peripheral devices 102 and then desire to switch from first host device 115 to second host device 116. However, the first computer system of first host device 115 could be CAC-enabled while the second computer system of second host device 116 could not be CAC-enabled. At the same time, in order to operate first host device 115 (e.g., the first computer system) the user(s) could have provided a CAC to CAC reader 113. Now, if the user(s) were to switch from first host device 115 to second host device 116, the category-one peripheral device(s) 104 would switch from first host device 115 to second host device 116. Meanwhile, KVM switching device 101 and/or KVM circuitry 122 could be configured so as to conditionally switch category-two peripheral device(s) 105 from a previously designated host device (e.g., first host device 115) to a presently designated host device (e.g., second host device 116) of host devices 103 if the presently designated host device requires CAC access to operate. In this scenario, because the second host device (e.g., the second computer system) is not CAC-enabled, the category-two peripheral device(s) 105 (e.g., CAC reader 113) stay in communication with first host device 115. As a result, category-two peripheral device(s) 105 do not break communication with first host device 115 (e.g., the first computer system) to prevent the first host device 115 from logging the user(s) out from first host device 115 so that the user(s) can later switch back to first host device 115 and continue using the same login session. Accordingly, this application of KVM switching device 101 can be particularly advantageous where the user(s) need to frequently switch back and forth between a CAC-enabled computer system and a computer system that is not CAC-enabled. Further analogous examples could include a scenario where category-two peripheral devices 105 comprise a printer that is printing a document at first host device 115 while the user(s) are using (or want to use) second host device 116 or could also include a scenario where category-two peripheral devices 105 comprise a modem and the user(s) want to maintain a download at first host device 115 while operating second host device 116, etc.

KVM circuitry 122 can also comprise the switching device computer system, discussed previously above, to determine whether or not to switch category-two peripheral device(s) 105. The switching device computer system can be similar or identical to computer system 200 (FIG. 2), as described below. In another embodiment, the switching device computer system can be similar or identical to chassis 202 (FIG. 2) of computer system 200 (FIG. 2) and any of the circuit boards and/or component(s) contained in chassis 202 (FIG. 2). Still, in many embodiments, the switching device computer system may not have the level of sophistication and/or complexity of host computer system(s) 102 (FIG. 1). For example, the switching computer system may only have those processing capabilities and/or memory storage capabilities as are reasonably necessary to determine whether or not to switch category-two peripheral device(s) 105 to the selected host device of host devices 103, as is described in further detail below. In these examples, the switching device computer system could simply be implemented as a microcontroller comprising flash memory, or the like. Reducing the sophistication and/or complexity of the virtual computer system can reduce the size and/or cost of implementing system 100 (FIG. 1). Nonetheless, in other embodiments, the switching device computer system may need additional sophistication and/or complexity to operate as desired. In some embodiments, the switching device computer system can be omitted.

Turning to the next drawing, FIG. 2 illustrates an exemplary embodiment of computer system 200, all of which or a portion of which can be suitable for implementing an embodiment of host devices 103 (FIG. 1) and/or the switching device computer system of KVM circuitry 122 (FIG. 1) and/or another part of system 100 (FIG. 1) as well as methods 500 (FIG. 5) and 1000 (FIG. 10) and/or any of the various procedures, processes, and/or activities of methods 500 (FIG. 5) and 1000 (FIG. 10). As an example, chassis 202 (and its internal components) can be suitable for implementing each of host device 103 and/or the switching device computer of KVM circuitry 122. Furthermore, one or more parts of computer system 200 (e.g., refreshing monitor 206, keyboard 204, and/or mouse 210, etc.) may also be appropriate for implementing control terminal 113 (FIG. 1). Computer system 200 includes chassis 202 containing one or more circuit boards (not shown), Universal Serial Bus (USB) 212, Compact Disc Read-Only Memory (CD-ROM) and/or Digital Video Disc (DVD) drive 216, and hard drive 214. A representative block diagram of the elements included on the circuit boards inside chassis 202 is shown in FIG. 2. Central processing unit (CPU) 310 in FIG. 3 is coupled to system bus 314 in FIG. 3. In various embodiments, the architecture of CPU 310 can be compliant with any of a variety of commercially distributed architecture families.

System bus 314 also is coupled to memory 308, where memory 308 includes both read only memory (ROM) and random access memory (RAM). Non-volatile portions of memory 308 or the ROM can be encoded with a boot code sequence suitable for restoring computer system 200 (FIG. 2) to a functional state after a system reset. In addition, memory 308 can include microcode such as a Basic Input-Output System (BIOS). In some examples, the one or more storage modules of the various embodiments disclosed herein can include memory 308, USB 212 (FIGS. 2-3), hard drive 214 (FIGS. 2-3), and/or CD-ROM or DVD drive 216 (FIGS. 2-3). In the same or different examples, the one or more storage modules of the various embodiments disclosed herein can comprise an operating system, which can be a software program that manages the hardware and software resources of a computer and/or a computer network. The operating system can perform basic tasks such as, for example, controlling and allocating memory, prioritizing the processing of instructions, controlling input and output devices, facilitating networking, and managing files. Examples of common operating systems can include Microsoft® Windows, Mac® operating system (OS), UNIX® OS, and Linux® OS.

As used herein, “processor” and/or “processing module” means any type of computational circuit, such as but not limited to a microprocessor, a microcontroller, a controller, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a graphics processor, a digital signal processor, or any other type of processor or processing circuit capable of performing the desired functions.

In the depicted embodiment of FIG. 3, various I/O devices such as disk controller 304, graphics adapter 324, video controller 302, keyboard adapter 326, mouse adapter 306, network adapter 320, and other I/O devices 322 can be coupled to system bus 314. Keyboard adapter 326 and mouse adapter 306 are coupled to keyboard 204 (FIGS. 2-3) and mouse 210 (FIGS. 2-3), respectively, of computer system 200 (FIG. 2). While graphics adapter 324 and video controller 302 are indicated as distinct units in FIG. 3, video controller 302 can be integrated into graphics adapter 324, or vice versa in other embodiments. Video controller 302 is suitable for refreshing monitor 206 (FIGS. 2-3) to display images on a screen 208 (FIG. 2) of computer system 200 (FIG. 2). Disk controller 304 can control hard drive 214 (FIGS. 2-3), USB 212 (FIGS. 2-3), and CD-ROM drive 216 (FIGS. 2-3). In other embodiments, distinct units can be used to control each of these devices separately.

In some embodiments, network adapter 320 can be part of a WNIC (wireless network interface controller) card (not shown) plugged or coupled to an expansion port (not shown) in computer system 200. In other embodiments, the WNIC card can be a wireless network card built into computer system 200. A wireless network adapter can be built into computer system 200 by having wireless Ethernet capabilities integrated into the motherboard chipset (not shown), or implemented via a dedicated wireless Ethernet chip (not shown), connected through the PCI (peripheral component interconnector) or a PCI express bus. In other embodiments, network adapter 320 can be a wired network adapter.

Although many other components of computer system 200 (FIG. 2) are not shown, such components and their interconnection are well known to those of ordinary skill in the art. Accordingly, further details concerning the construction and composition of computer system 200 and the circuit boards inside chassis 202 (FIG. 2) are not discussed herein.

When computer system 200 in FIG. 2 is running, program instructions stored on a USB-equipped electronic device connected to USB 212, on a CD-ROM or DVD in CD-ROM and/or DVD drive 216, on hard drive 214, or in memory 308 (FIG. 3) are executed by CPU 310 (FIG. 3). A portion of the program instructions, stored on these devices, can be suitable for carrying out at least part of system 100 (FIG. 1), method 500 (FIG. 5), and/or method 1000 (FIG. 10).

Although computer system 200 is illustrated as a desktop computer in FIG. 2, there can be examples where computer system 200 may take a different form factor (e.g., a mobile electronic device, a laptop computer) while still having functional elements similar to those described for computer system 200. In some embodiments, computer system 200 may comprise a single computer, a single server, or a cluster or collection of computers or servers, or a cloud of computers or servers. Typically, a cluster or collection of servers can be used when the demand on computer system 200 exceeds the reasonable capability of a single server or computer.

Returning now to FIG. 1, KVM circuitry 122 can implement the conditional switching of category-two peripheral device(s) 105 and/or category-two peripheral port(s) 121 according to the logical framework provided below. This logical framework can be implemented as computer software (e.g., at the switching device computer system) and/or as computer hardware within KVM circuitry 122. In the same or different embodiments, the logical framework can be implemented mechanically, such as by providing various mechanical inputs (e.g., toggle inputs 708 (FIG. 7), etc.) at user interface 140 of KVM switching device 101, as mentioned briefly above and described in further detail below with respect to the description of user interface 140 below.

The logical framework can be implemented by comparing (a) whether or not a previously designated selected host device of host devices 103 and/or respective host port of host ports 119 is flagged or not and (b) whether a presently designated selected host device of host devices 103 and/or respective host port of host ports 119 is flagged or not. In this logical framework, flags are assigned to those host devices of host devices 103 and/or those respective host ports of host ports 119 that meet the specified condition(s) (e.g., require CAC security for access) and flags are not assigned to host devices of host devices 103 that do not meet the specified condition(s) (e.g., do not require CAC security for access). Accordingly, KVM circuitry 122 can be configured to implement the conditional switching of category-two peripheral device(s) 105 as follows: (1) when switching from a flagged host device of host devices 103 (i.e., a flagged host port of host ports 119) to another flagged host device of host devices 103 and/or host port of host ports 119 (i.e., the selected host device and/or host port), category-two peripheral device(s) 105 switch to the selected host device and/or host port; (2) when switching from an unflagged host device of host devices 103 (i.e., an unflagged host port of host ports 119) to a flagged host device of host devices 103 and/or host port of host ports 119 (i.e., the selected host device and/or host port), category-two peripheral device(s) 105 switch to the selected host device and/or host port; (3) when switching from a flagged host device of host devices 103 (i.e., a flagged host port of host ports 119) to an unflagged host device of host devices 103 and/or host port of host ports 119 (i.e., the selected host device and/or host port), category-two peripheral device(s) 105 do not switch to the selected host device and/or host port; and (4) when switching from an unflagged host device of host devices 103 (i.e., an unflagged host port of host ports 119) to another unflagged host device of host devices 103 and/or host port of host ports 119 (i.e., the selected host device and/or host port), category-two peripheral device(s) 105 do not switch to the selected host device and/or host port.

Category four (4) of this logical framework can be important in the event that the user(s) switch from a flagged host device of host devices 103 (i.e., a flagged host port of host ports 119) to an unflagged host device of host devices 103 (i.e., an unflagged host port of host ports 119) and then to another unflagged host device of host devices 103 (i.e., another unflagged host port of host ports 119). If category four (4) of the logical framework caused category-two peripheral device(s) 105 to switch, category-two peripheral device(s) 105 could undesirably switch away from the previous flagged host device of host devices 103 (i.e., the previous flagged host port of host ports 119).

The following example can illustrate this logical framework in operation. For instance, assume for the specified condition that flags are assigned to those host devices of host devices 103 and/or host ports of host ports 119 that require CAC security access and are not assigned to those host devices of host devices 103 and/or host ports of host ports 119 that do not require CAC security access, and also assume that category-two peripheral device(s) 105 comprise CAC reader 113. In this scenario, switching to a CAC-enabled host device of host devices 103 by designating the CAC-enabled host of host device 103 from another CAC-enabled host device of host devices 103 can cause category-two peripheral device(s) 105 (e.g., CAC reader 113) to switch from the another CAC-enabled host device of host devices 103 to the CAC-enabled host device of host devices 103. Accordingly, the user(s) can then operate CAC reader 113 at the CAC-enabled host device of host devices 103 to login to and gain access to that CAC-enabled host device of host devices 103. This example can be logically carried through with each of the four scenarios depicted above. Also, this logical framework can be expanded to accommodate three or more categories of peripheral device(s), as desired. Expanding this logical framework to accommodate additional categories of peripheral device(s) would simply require expanding this logic to incorporate additional condition(s).

Implementing the logical framework in the above scenario can provide numerous advantages to the user(s) of system 100 and/or KVM switching device 101. For example, in some embodiments, if the user(s) of system 100 and/or KVM switching device 101 were previously operating a host device of host devices 103 requiring CAC security access before switching to a host device of host devices 103 that does not require CAC security access and then switch back to the previous host of host devices 103 that does require CAC security access, implementing this logical framework can prevent the user(s) from having to re-authenticate their CAC credentials because the category-two peripheral device(s) (e.g., the CAC reader) would not break communication with the previous host device of the host devices 103. As explained above with respect to category (4), this can remain true even if the user(s) switch through various host devices of host devices 103 before returning to the original host device of host devices 103, provided the user(s) do not switch to another host device of host devices 103 requiring CAC security access. Further, although the above the scenario describes the user(s) as having to re-authenticate when switching between host devices of host devices 103 that require CAC security access, in some embodiments, a newly selected host device of host devices 103 that also requires CAC security access can rely on the previous CAC authentication at the previous host device requiring CAC security access (e.g., provided that the user(s) have not first switched to a host device of host devices 103 that does not require CAC security access) so that re-authentication is unnecessary. Further still, in some embodiments, where the user(s) of system 100 and/or KVM switching device 101 have multiple levels of CAC security credentials (e.g., a first level and a second level higher than the first level), system 100 and/or KVM switching device 101 can be configured so that when switching between host devices of host devices 103 requiring CAC security access as described in the previous sentence, re-authentication could be unnecessary when switching from a host device of host devices 103 requiring a higher level CAC security clearance (e.g., the second level) to a host device of host devices 103 requiring a lower level CAC security clearance (e.g., the first level) while re-authentication could be necessary when switching from a host device of host devices 103 requiring the lower level CAC security clearance to a host device of host devices 103 requiring the higher level CAC security clearance.

As mentioned above, system 100 and/or KVM switching device 101 can comprise user interface 140. For example, user interface 140 can be integral with KVM switching device 101 or can be separate from KVM switching device 101. User interface 140 can be configured to communicate with and/or control KVM circuitry 122. Accordingly, user interface 140 can permit the user(s) to control KVM circuitry 122 to designate the selected host device of host devices 103. In some embodiments, user interface 140 can further permit the user(s) to select whether each host port of host ports 119 (i.e., each host device of host devices 103) are flagged or not (e.g., meet the specified condition(s)), for purposes of the logical framework. FIG. 7 illustrates an exemplary user interface 140, according to the embodiment of system 100 (FIG. 1).

Referring now to FIG. 7, user interface 140 can comprise one or more user modules 701. In some embodiments, user module(s) 701 can comprise first user module 702, second user module 703, third user module 704, and/or fourth user module 705. In other embodiments, user module(s) 701 can comprise more or fewer user modules. The number of user modules 701 can be complimentary to the number of host ports 119 (FIG. 1). Each user module of user modules 701 can be (a) configured to permit the user(s) to control KVM switching device 101 (FIG. 1) and/or KVM circuitry 122 (FIG. 1), (b) associated with one host port of host ports 119 (FIG. 1), and/or (c) configured to indicate a status of the one host port of host ports 119 (FIG. 1) to which that user module of user modules 701 is associated.

Each user module of user modules 701 can comprise one button input of one or more button inputs 706, one toggle input of one or more toggle inputs 708, and/or one status indicator of one or more status indicators 707. Each one button input of button input(s) 706 can be configured to permit the user(s) of system 100 (FIG. 1) to designate the host port of host ports 103 (FIG. 1) associated with that user module of user modules 107 comprising that button input of button inputs 706 (i.e., the user(s) can use button inputs 706 to designate the selected host device of host devices 103).

Each toggle input of toggle inputs 708 can be configured to permit the user(s) to specify whether or not the host port of host ports 103 (FIG. 1) that is associated with the user module (of user modules 701) comprising that toggle input (of toggle inputs 708) meets the specified condition(s) for the logical framework described above. For example, each toggle input of toggle inputs 708 can comprise a first toggle status and a second toggle status. In these embodiments, each toggle input of toggle inputs 708 can be configured such that (a) when that toggle input of toggle inputs 708 is set to the first toggle status, the associated host port (i.e., the associated host device of that host port) is unflagged with respect to the specified condition(s) for the logical framework), and (b) when the toggle input of toggle inputs 708 is set to the second toggle status, the associated host port (i.e., the associated host device of that host port) is flagged with respect to the specified condition(s) of the logical framework). Accordingly, for a specific example, each toggle input of toggle inputs 708 can be configured to indicate whether the host port associated with that user module comprising that toggle input requires or does not require CAC security access.

Meanwhile, each status indicator of status indicator(s) 707 can be configured to indicate to the user(s) whether or not the host device (of host devices 103 (FIG. 1)) associated and/or coupled with the host port (of host ports 103) that is associated with the user module (of user modules 701) comprising that status indicator (of status indicators 707) is presently communicating with category-two peripheral device(s) 105 (FIG. 1). Each status indicator of status indicators 707 can comprise a light emitting diode or another suitable status indicating device, such as an illuminated graphic.

In another embodiment, each user module of user modules 701 can also comprise an additional status indicator (not shown) of status indicators 707. The additional status indicator can be configured to indicate to the user(s) whether or not the host device (of host devices 103 (FIG. 1)) associated and/or coupled with the host port (of host ports 103) that is associated with the user module (of user modules 701) comprising that status indicator (of status indicators 707) is presently the selected host device of host devices 103. Each additional status indicator of status indicators 707 can comprise a light emitting diode or another suitable status indicating device, such as an illuminated graphic.

Turning next to FIG. 4, a flow chart illustrated for an embodiment of method 400 of providing a system. Method 400 is merely exemplary and is not limited to the embodiments presented herein. Method 400 can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, the procedures, the processes, and/or the activities of method 400 can be performed in the order presented. In other embodiments, the procedures, the processes, and/or the activities of method 400 can be performed in any other suitable order. In still other embodiments, one or more of the procedures, the processes, and/or the activities in method 400 can be combined or skipped. The system can be similar or identical to system 100 (FIG. 1).

Method 400 can comprise activity 401 of manufacturing a keyboard-video-mouse (KVM) switching device. The KVM switching device can be similar or identical to KVM switching device 101 (FIG. 1). FIG. 9 illustrates an exemplary activity 401.

Referring to FIG. 9, activity 401 can comprise activity 901 of manufacturing a user interface. The user interface can be similar or identical to user interface 140 (FIG. 1). In some embodiments, performing activity 901 can comprise integrating the user interface with the KVM switching device. In other embodiments, performing activity 901 can comprise manufacturing the user interface to remain separate from the KVM switching device.

Activity 401 can comprise: (a) activity 902 of configuring the KVM switching device with at least one first specified condition of the one or more specified conditions; (b) activity 903 of configuring the KVM switching device such that the user is able to create at least one second specified condition of the one or more specified conditions; and/or (c) activity 904 of configuring the KVM switching device such that the user is able to select at least one third specified condition of the one or more specified conditions from multiple predetermined specified conditions. In some embodiments, one or two of activities 902 through 904 can be omitted. In some embodiments, one or more of activities 902 through 904 can be performed approximately simultaneously with one or more other of activities 902 through 904.

Returning now to FIG. 4, method 400 can comprise activity 402 of configuring the KVM switching device such that when a user selects a selected host device of two or more host devices, one or more category-one peripheral devices communicate with the selected host device. The host devices can be similar or identical to host devices 103 (FIG. 1), and the selected host device can be similar or identical to the selected host device as described above with respect to system 100 (FIG. 1). Further, the category-one peripheral device(s) can be similar or identical to category-one host device(s) 104 (FIG. 1).

Meanwhile, method 400 can comprise activity 403 of configuring the KVM switching device such that when the user selects the selected host device of the two or more host devices, one or more category-two peripheral devices conditionally communicate with the selected host device if one or more specified conditions are fulfilled. The category-two peripheral devices can be similar or identical to category-two peripheral devices 105 (FIG. 1). Further, the specified condition(s) can be similar or identical the specified condition(s) described above with respect to system 100 (FIG. 1). For example, the specified condition(s) can comprise (a) a demand condition that the selected host device requires at least one of the one or more category-two peripheral devices in order for the selected host device to be operated, and/or (b) an active condition that one or more category-two peripheral devices are not presently operating when the user selects the selected host device. In some embodiments, one or more of activities 401, 402, and/or 403 can be performed as part of one or more other of activities 401, 402, and/or 403. Further, in many embodiments, activities 401, 402, and/or 403 can be performed approximately simultaneously with each other.

Method 400 can comprise activity 404 of providing the host devices. In some embodiments, performing activity 404 can comprise providing two or more host computer systems. In further embodiments, performing activity 404 can comprise coupling the host devices with the KVM switching device.

Method 400 can comprise activity 405 of providing the category-one peripheral devices. In some embodiments, performing activity 405 can comprise providing at least one of an audio-visual display device, one or more speakers, a computer keyboard, or a computer mouse. In further embodiments, performing activity 405 can comprise coupling the at least one of the audio-visual display device, the one or more speakers, the computer keyboard, or the computer mouse with the KVM switching device.

Method 400 can comprise activity 406 of providing the category-two peripheral devices. In some embodiments, performing activity 406 can comprise performing activity 406 can comprise providing at least one of a common access card reader, a printer, an external storage module, a modem, or a biometric reader. In further embodiments, performing activity 406 can comprise coupling the at least one of the common access card reader, the printer, the external storage module, the modem, or the biometric reader with the KVM switching device.

Turning to the next drawing, FIG. 5 illustrates a flow chart for an embodiment of method 500 of using a keyboard-video-mouse (KVM) switching device configured to be coupled with two or more system peripheral devices and two or more host devices and to permit a user of the KVM switching device to designate a selected host device of the host devices. The system peripheral devices can comprise one or more category-one peripheral devices and one or more category-two peripheral devices. Method 500 is merely exemplary and is not limited to the embodiments presented herein. Method 500 can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, the procedures, the processes, and/or the activities of method 500 can be performed in the order presented. In other embodiments, the procedures, the processes, and/or the activities of the method 500 can be performed in any other suitable order. In still other embodiments, one or more of the procedures, the processes, and/or the activities in method 500 can be combined or skipped. The KVM switching device can be similar or identical to KVM switching device 101 (FIG. 1). The system peripheral devices can be similar or identical to system peripheral devices 102 (FIG. 1). The host devices can be similar or identical to host devices 103 (FIG. 1). The category-one peripheral device(s) can be similar or identical to category-one peripheral device(s) 104 (FIG. 1), and/or the category-two peripheral device(s) can be similar or identical to category-two peripheral device(s) 105 (FIG. 1). In some embodiments, at least part of method 500 can be implemented as one or more computer instructions configures to be executed at one or more processing modules and to be stored at one or more memory storage modules of a switching device computer system. The switching device computer system can be similar or identical to the switching device computer system described above with respect to system 100 (FIG. 1).

Turning now to FIG. 5, method 500 comprises procedure 501 of designating a selected host device of the host devices. FIG. 6 illustrates procedure 501 of designating the selected host device of the host devices, according to the embodiment of method 500. Performing procedure 501 of designating the selected host device of the host devices can be performed in a manner similar to that described above with respect to system 100 (FIG. 1).

In some embodiments, procedure 501 can comprise process 601 of switching from a first host device of the host devices to a second host device of the host devices using the KVM switching device, where the second host device comprises the selected host device. Performing process 601 of designating the selected host device of the host devices can be performed in a manner similar to that described above with respect to system 100 (FIG. 1). In some embodiments, process 601 can comprise facilitating switching from a first host device of the host devices to a second host device of the host devices with a button input of a user module of a user interface of the KVM switching device by which a user of the KVM switching device is able to mechanically designate the selected host device. The button input can be similar or identical to any button input of button input(s) 706 (FIG. 7), the user module can be similar or identical to any user module of user modules 701 (FIG. 7) and/or the user interface can be similar or identical to user interface 140 (FIG. 1).

Procedure 501 can continue with process 602 of switching the category-one peripheral device(s) to the selected host device. Process 601 of switching the category-one peripheral device(s) to the selected host device can comprise discontinuing communication between the first host device of the host devices and the category-one peripheral device(s) and establishing communication between the second host device of the host device and the category-one peripheral device(s) when the second host device comprises the selected host device.

Referring again to FIG. 6, procedure 501 can continue with process 603 of determining whether to switch the category-two peripheral device(s) to the selected host device. In some embodiments, process 603 can be performed approximately simultaneously or after process 602.

FIG. 8 illustrates an exemplary process 603 of determining whether to switch the category-two peripheral device(s) to the selected host device, according to the embodiment of method 500 (FIG. 5). With respect to activities 801-804 (FIG. 8) and procedure 503 (FIG. 5), below, a state of a host device being flagged and/or unflagged can be similar or identical to a host device being flagged and/or unflagged as described above with respect to the logical framework of system 100 (FIG. 1).

Turning now to FIG. 8, process 603 can comprise activity 801 of discontinuing communication between the first host device of the host devices and the category-two peripheral devices and establishing communication between the second host device of the host devices and the category-two peripheral devices if the first host device of the host devices is flagged and the second host device of the host device is flagged. In some embodiments, activity 801 can be performed in a manner similar to that described above with respect to the logical framework of system 100 (FIG. 1).

Process 603 can comprise activity 802 of discontinuing communication between the first host device of the host devices and the category-two peripheral devices and establishing communication between the second host device of the host devices and the category-two peripheral devices if the first host device of the host devices is unflagged and the second host device of the host device is flagged. In some embodiments, activity 802 can be performed in a manner similar to that described above with respect to the logical framework of system 100 (FIG. 1).

Process 603 can also comprise activity 803 of maintaining communication between the category-two peripheral device(s) and any other host device than the selected host device of the host devices if the first host device of the host devices is flagged and the second host device of the host devices is unflagged. In some embodiments, activity 803 can be performed in a manner similar to that described above with respect to the logical framework of system 100 (FIG. 1).

Process 603 can further comprise activity 804 of maintaining communication between the category-two peripheral device(s) and any other host device than the selected host device of the host devices if the first host device of the host devices is unflagged and the second host device of the host devices is unflagged. In some embodiments, activity 804 can be performed in a manner similar to that described above with respect to the logical framework of system 100 (FIG. 1).

Returning now to FIG. 5, method 500 can continue with procedure 502 of designating another selected host device of the host devices after designating the selected host device of the host devices. Performing procedure 502 can be similar to performing procedure 501 but with respect to the second host device and a third host device. In these embodiments, the third host device can comprise the first host device, described above with respect to procedure 501 and/or process 601 (FIG. 6), or the third host device can comprise another host device of the host devices other than the first host device and the second host device.

Method 500 can comprise procedure 503 of flagging one or more host devices of the host devices. In some embodiments, procedure 503 can comprise flagging the host device(s) of the host devices by facilitating flagging one or more host device(s) of the host devices by using one or more toggle inputs of a user module of a user interface of the KVM switching device. The toggle input can be similar or identical to any toggle input(s) of toggle inputs 708 (FIG. 7), the user module can be similar or identical to any user module of user modules 701 (FIG. 7), and/or the user interface can be similar or identical to user interface 140 (FIG. 1). In some embodiments, procedure 503 can be performed in a manner similar to that described above with respect to user interface 140 (FIG. 1), KVM circuitry 122 (FIG. 1) and/or toggle inputs 708 (FIG. 7) of system 100 (FIG. 1).

Method 500 can comprise procedure 504 of indicating if any host of the host devices is presently in communication with the category-two peripheral devices. In some embodiments, procedure 504 can comprise indicating if any host of the host devices is presently in communication with the category-two peripheral devices by illuminating a status indicator. The status indicator can be similar or identical to any one of status indicator(s) 707 (FIG. 7).

Turning ahead now in the drawings, FIG. 10 illustrates a flow chart for an embodiment of method 1000 of operating a keyboard-video-mouse (KVM) switching device. Method 1000 is merely exemplary and is not limited to the embodiments presented herein. Method 1000 can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, the procedures, the processes, and/or the activities of method 1000 can be performed in the order presented. In other embodiments, the procedures, the processes, and/or the activities of method 1000 can be performed in any other suitable order. In still other embodiments, one or more of the procedures, the processes, and/or the activities in method 1000 can be combined or skipped. In some embodiments, at least part of method 1000 can be implemented as one or more computer instructions configures to be executed at one or more processing modules and to be stored at one or more memory storage modules of a switching device computer system. The switching device computer system can be similar or identical to the switching device computer system described above with respect to system 100 (FIG. 1). Further, the KVM switching device can be similar or identical to KVM switching device 101 (FIG. 1).

Method 1000 can comprise activity 1001 of receiving a new selection of a selected host device of two or more host devices. The host devices can be similar or identical to host devices 103 (FIG. 1).

Method 1000 can comprise activity 1002 of establishing communication between one or more category-one peripheral devices of two or more system peripheral devices and the selected host device. In many embodiments, activity 1002 can occur after activity 1001. The category-one peripheral device(s) can be similar to category-one peripheral device(s) 104 (FIG. 1), and the system peripheral devices can be similar or identical to system peripheral devices 102 (FIG. 1).

Method 1000 can comprise activity 1003 of conditionally establishing communication between one or more category-two peripheral devices of the two or more system peripheral devices and the selected host device based on one or more specified conditions. The category-two peripheral device(s) can be similar or identical to category-two peripheral devices 105 (FIG. 1). Further, the specified condition(s) can be similar or identical to the specified condition(s) described above with respect to system 100 (FIG. 1). In many embodiments, activity 1003 can occur after activity 1001. In further embodiments, activities 1002 and 1003 can occur approximately simultaneously with each other. In many embodiments, activities 1001 through 1003 can be repeated one or more times. FIG. 11 illustrates an exemplary activity 1003.

Referring to FIG. 11, activity 1003 can comprise activity 1101 of establishing communication between the one or more category-two peripheral devices and the selected host device and discontinuing communication between the one or more category-two peripheral devices and a previously selected host device of the two or more host devices if the selected host meets the one or more specified conditions and the previously selected host also meets the one or more specified conditions.

Activity 1003 can comprise activity 1102 of establishing communication between the one or more category-two peripheral devices and the selected host device and discontinuing communication between the one or more category-two peripheral devices and a previously selected host device of the two or more host devices if the selected host meets the one or more specified conditions and the previously selected host does not meet the one or more specified conditions.

Activity 1003 can comprise activity 1103 of maintaining communication between the one or more category-two peripheral devices and a previous selected host device of the two or more host devices if the selected host does not meet the one or more specified conditions and the previously selected host meets the one or more specified conditions.

Activity 1003 can comprise activity 1104 of maintaining communication between the one or more category-two peripheral devices and a previous selected host device of the two or more host devices if the selected host does not meet the one or more specified conditions and the previously selected host also does not meet the one or more specified conditions. In many embodiments, when activity 1003 is performed, only one of activities 1101 through 1104 will be performed. Accordingly, the remaining activities of 1101 through 1104 can be omitted, as applicable.

Returning now to FIG. 10, method 100 can comprise activity 1004 of receiving a previous selection of the previously selected host. Activity 1004 can occur prior to activity 1001. Further, activities 1002 and 1003 can be performed with respect to activity 1004 in similar manner to that performed for activity 1001.

Method 1000 can comprise: (a) activity 1005 of establishing at least one manufacturer specified condition for the one or more specified conditions; (b) activity 1006 of receiving at least one user created specified condition for the one or more specified conditions; and/or (c) activity 1007 of receiving at least one user selected specified condition of multiple predetermined specified conditions for the one or more specified conditions. In some embodiments, one or two of activities 1005 through 1007 can be omitted.

Although the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made without departing from the spirit or scope of the invention. Accordingly, the disclosure of embodiments of the invention is intended to be illustrative of the scope of the invention and is not intended to be limiting. It is intended that the scope of the invention shall be limited only to the extent required by the appended claims. For example, to one of ordinary skill in the art, it will be readily apparent that methods 400 (FIG. 4), 500 (FIG. 5), and/or 1000 (FIG. 10) and the related procedures, process, and/or activities of each, may be comprised of many different procedures, processes, and activities and be performed by many different modules, in many different orders, that any element of FIGS. 1-11 may be modified, and that the foregoing discussion of certain of these embodiments does not necessarily represent a complete description of all possible embodiments.

All elements claimed in any particular claim are essential to the embodiment claimed in that particular claim. Consequently, replacement of one or more claimed elements constitutes reconstruction and not repair. Additionally, benefits, other advantages, and solutions to problems have been described with regard to specific embodiments. The benefits, advantages, solutions to problems, and any element or elements that may cause any benefit, advantage, or solution to occur or become more pronounced, however, are not to be construed as critical, required, or essential features or elements of any or all of the claims, unless such benefits, advantages, solutions, or elements are expressly stated in such claim.

Moreover, embodiments and limitations disclosed herein are not dedicated to the public under the doctrine of dedication if the embodiments and/or limitations: (1) are not expressly claimed in the claims; and (2) are or are potentially equivalents of express elements and/or limitations in the claims under the doctrine of equivalents. 

What is claimed is:
 1. A system comprising: a keyboard-video-mouse switching device configured to communicate with two or more system peripheral devices and two or more host devices, the keyboard-video-mouse switching device permits a user of the system to select a selected host device of the two or more host devices; wherein: the two or more system peripheral devices comprise one or more category-one peripheral devices and one or more category-two peripheral devices; and the keyboard-video-mouse switching device is configured such that when the user selects the selected host device of the two or more host devices: the one or more category-one peripheral devices communicate with the selected host device; and the one or more category-two peripheral devices conditionally communicate with the selected host device if one or more specified conditions are fulfilled.
 2. The system of claim 1 wherein: the one or more specified conditions comprise a demand condition that the selected host device requires at least one of the one or more category-two peripheral devices in order for the selected host device to be operated.
 3. The system of claim 1 wherein: the one or more specified conditions comprise an active condition that one or more category-two peripheral devices are not presently operating when the user selects the selected host device.
 4. The system of claim 1 wherein: the two or more host devices comprise two or more host computer systems.
 5. The system of claim 1 wherein: the one or more category-one peripheral devices comprise at least one of an audio-visual display device, one or more speakers, a computer keyboard, or a computer mouse.
 6. The system of claim 1 wherein: the one or more category-two peripheral devices comprise at least one of a common access card reader, a printer, an external storage module, a modem, or a biometric reader.
 7. The system of claim 1 further comprising: a user interface; wherein: the user interface is configured to communicate with the keyboard-video-mouse switching device; and the user is able to select the selected host device using the user interface.
 8. The system of claim 1 wherein at least one of: a manufacturer of the system establishes at least one first specified condition of the one or more specified conditions; the user creates at least one second specified condition of the one or more specified conditions; or the user selects at least one third specified condition of the one or more specified conditions from multiple predetermined specified conditions.
 9. A method of providing a system, the method comprising: manufacturing a keyboard-video-mouse switching device, the keyboard-video-mouse switching device (i) being configured to communicate with (a) two or more system peripheral devices comprising one or more category-one peripheral devices and one or more category-two peripheral devices and (b) two or more host devices and (ii) permitting a user of the system to select a selected host device of the two or more host devices; configuring the keyboard-video-mouse switching device such that when the user selects the selected host device of the two or more host devices, the one or more category-one peripheral devices communicate with the selected host device; and configuring the keyboard-video-mouse switching device such that when the user selects the selected host device of the two or more host devices, the one or more category-two peripheral devices conditionally communicate with the selected host device if one or more specified conditions are fulfilled.
 10. The method of claim 9 wherein at least one of: the one or more specified conditions comprise a demand condition that the selected host device requires at least one of the one or more category-two peripheral devices in order for the selected host device to be operated; or the one or more specified conditions comprise an active condition that one or more category-two peripheral devices are not presently operating when the user selects the selected host device.
 11. The method of claim 9 further comprising at least one of: providing the two or more host devices, where providing the two or more host devices comprises providing two or more host computer systems; providing the one or more category-one peripheral devices, where providing the one or more category-two peripheral devices comprises providing at least one of an audio-visual display device, one or more speakers, a computer keyboard, or a computer mouse; or providing the one or more category-two peripheral devices, where providing the one or more category-two peripheral devices comprises providing at least one of a common access card reader, a printer, an external storage module, a modem, or a biometric reader.
 12. The method of claim 9 wherein: manufacturing the keyboard-video-mouse switching device comprises manufacturing a user interface, the user interface being configured to communicate with the keyboard-video-mouse switching device and being configured to permit the user to select the selected host device using the user interface.
 13. The method of claim 9 wherein: manufacturing the keyboard-video-mouse switching device comprises at least one of: configuring the keyboard-video-mouse switching device with at least one first specified condition of the one or more specified conditions; configuring the keyboard-video-mouse switching device such that the user is able to create at least one second specified condition of the one or more specified conditions; or configuring the keyboard-video-mouse switching device such that the user is able to select at least one third specified condition of the one or more specified conditions from multiple predetermined specified conditions.
 14. A method of operating a keyboard-video-mouse switching device, the method comprising: receiving a new selection of a selected host device of two or more host devices; after receiving the first selection of the selected host device, establishing communication between one or more category-one peripheral devices of two or more system peripheral devices and the selected host device; and after receiving the first selection of the selected host device, conditionally establishing communication between one or more category-two peripheral devices of the two or more system peripheral devices and the selected host device based on one or more specified conditions.
 15. The method of claim 14 wherein: conditionally establishing communication between the one or more category-two peripheral devices and the selected host device comprises: establishing communication between the one or more category-two peripheral devices and the selected host device and discontinuing communication between the one or more category-two peripheral devices and a previously selected host device of the two or more host devices if the selected host device meets the one or more specified conditions and the previously selected host device also meets the one or more specified conditions.
 16. The method of claim 15 further comprising: before receiving the new selection of the selected host device, receiving a previous selection of the previously selected host device.
 17. The method of claim 14 wherein: conditionally establishing communication between the one or more category-two peripheral devices and the selected host device comprises: establishing communication between the one or more category-two peripheral devices and the selected host device and discontinuing communication between the one or more category-two peripheral devices and a previously selected host device of the two or more host devices if the selected host device meets the one or more specified conditions and the previously selected host device does not meet the one or more specified conditions.
 18. The method of claim 17 further comprising: before receiving the new selection of the selected host device, receiving a previous selection of the previously selected host device.
 19. The method of claim 14 wherein: conditionally establishing communication between the one or more category-two peripheral devices and the selected host device comprises: maintaining communication between the one or more category-two peripheral devices and a previously selected host device of the two or more host devices if the selected host device does not meet the one or more specified conditions and the previously selected host device meets the one or more specified conditions.
 20. The method of claim 19 further comprising: before receiving the new selection of the selected host device, receiving a previous selection of the previously selected host device.
 21. The method of claim 14 wherein: conditionally establishing communication between the one or more category-two peripheral devices and the selected host device comprises: maintaining communication between the one or more category-two peripheral devices and a previously selected host device of the two or more host devices if the selected host device does not meet the one or more specified conditions and the previously selected host device also does not meet the one or more specified conditions.
 22. The method of claim 21 further comprising: before receiving the new selection of the selected host device, receiving a previous selection of the previously selected host device.
 23. The method of claim 14 further comprising at least one of: establishing at least one manufacturer specified condition for the one or more specified conditions; receiving at least one user created specified condition for the one or more specified conditions; or receiving at least one user selected specified condition of multiple predetermined specified conditions for the one or more specified conditions. 